package cn.yj.common.monitor;

import cn.yj.common.entity.RefundQueryParams;
import cn.yj.common.interfaces.AbstractPay;

/**
 * 订单轮训监控查询接口。
 * 例如： 在第支付平台创建订单后。就开始定时查询订单订单的状态是否已经支付成功，支付成功后，通知给业务
 * 在发起退款后，也开始轮训订单退款状态
 *
 * @author 永健
 * @since 2022-02-21 09:57
 */
public interface IPayOrderMonitor {

    /**
     * 退款监控
     *
     * @param params 退款参数
     */
    void refundMonitor(RefundQueryParams params, AbstractPay abstractPay);

    /**
     * 支付成功监控
     *
     * @param outTradeNo 商户订单号
     */
    void payMonitor(long expireTime,String outTradeNo,AbstractPay abstractPay);
}
